import Citys from '../../../utils/city.js';
const app = getApp() //app.globalData

Page({

    /**
     * 页面的初始数据
     */
    data: {
        city: '武汉',
        hotcities: [{
                "cityCode": 310000,
                "city_name": "上海市",
            },
            {
                "cityCode": 110000,
                "city_name": "北京市",
            },
            {
                "cityCode": 440100,
                "city_name": "广州市",
            },
            {
                "cityCode": 440300,
                "city_name": "深圳市",
            },
            {
                "cityCode": 420100,
                "city_name": "武汉市",
            },
            {
                "cityCode": 120000,
                "city_name": "天津市",
            },
            {
                "cityCode": 610100,
                "city_name": "西安市",
            },
            {
                "cityCode": 320100,
                "city_name": "南京市",
            },
            {
                "cityCode": 330100,
                "city_name": "杭州市",
            },
            {
                "cityCode": 510100,
                "city_name": "成都市",
            },
            {
                "cityCode": 500000,
                "city_name": "重庆市",
            },
            {
                "cityCode": 410100,
                "city_name": "郑州市",
            }
        ],
        current: 0,
        right_view_id: 'it0',
        letter: [],
        list: [],
        topList: [],
        isSearch:false,
        searchList:[],
    },
    // 获取type
    choseType(e) {
        // console.log(e)
        this.setData({
            current: e.target.dataset.item,
            right_view_id: 'it' + e.target.dataset.item
        })
    },
    // 监听滚动事件
    rightScroll(e) {
        let index
        let scrollTop = e.detail.scrollTop
        this.data.topList.map((e, i) => {
            if (scrollTop < e && !this.data.topList[i - 1]) {
                index = 0
            } else if (scrollTop >= e && scrollTop < this.data.topList[i + 1] && this.data.topList[i + 1]) {
                index = i
            } else if (!this.data.topList[i + 1] && scrollTop >= this.data.topList[i]) {
                index = this.data.topList.length - 1
            }
        })
        // var num = Math.floor(e.detail.scrollTop / 100) //向下取整
        this.setData({
            current: index,
            // navId : 'nav' + (num - 8)// 当右边滚动时，让左边自动跟随滚动
        })
    },
    // 点击搜索显示输入框
    inputSearch() {
        this.setData({
            isSearch:true
        })
    },
    // 关闭搜索 
    closeSearch() {
        this.setData({
            isSearch:false
        })
    },
    
    backCityCard() {
        wx.redirectTo({
            url: '/pages/cityList/cityList'
        })
    },
    searchInput(e) {
        let list = []
        if(e.detail.value) {
            list = this.query(Citys.list,e.detail.value)
        }
        this.setData({
            searchList:list
        })
        
    },
    query(source, text) {
        let res = [];
        let len = source.length
        var text = text.toLowerCase()
        for (let i = 0; i < len; i++) {
            //单字母搜索
            if (text.length == 1 && /^[a-zA-Z]$/.test(text)) {
                let arr = []
                let idx = text.toUpperCase()
                if (idx == source[i].idx) {
                    return source[i].cities
                }
            }
            //其它搜索
            if (source[i].cities) {
                let _len = source[i].cities.length
                for (var n = 0; n < _len; n++) {
                    let _item = source[i].cities[n]
                    if (new RegExp('^' + text).test(_item.city_name)) {
                        res.push(_item);
                        continue;
                    }
                    if (new RegExp('^' + text).test(_item.city_pinyin)) {
                        res.push(_item);
                        continue;
                    }
                    if (new RegExp('^' + text).test(_item.py)) {
                        res.push(_item);
                        continue;
                    }
                }
            }
        }
        return res;
    },
    show(e) {
        let code = e.currentTarget.dataset.item.cityCode
        app.globalData.http.get('/ai-sensing-back-service/api/home/selectcity',{cityCode:code}).then(res=>{
            wx.redirectTo({
                url: '/pages/cityList/cityList'
            })
        }).catch(err=>{
            console.log(err)
        })
    },
    // 
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
        wx.setNavigationBarTitle({
            title: '城市/站点列表',
        })
        this.setData({
            letter: Citys.index,
            list: Citys.list,
        })
        let list = []
        this.data.list.map((e, i) => {
            const query = wx.createSelectorQuery()
            query.select('#it' + i).boundingClientRect()
            query.selectViewport().scrollOffset()
            query.exec((res) => {
                list.push(parseInt(res[0].top.toFixed(0)) - 380)
                if (list.length == this.data.letter.length) {
                    this.setData({
                        topList: list
                    })
                }
            });
        })
    },
    // 格式化时间
    setTimeType() {
        // 对Date的扩展，将 Date 转化为指定格式的String
        // 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符，
        // 年(y)可以用 1-4 个占位符，毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
        // 例子：
        // (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
        // (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18

        Date.prototype.Format = function (fmt) {
            // author: meizz
            var o = {
                "M+": this.getMonth() + 1, // 月份
                "d+": this.getDate(), // 日
                "h+": this.getHours(), // 小时
                "m+": this.getMinutes(), // 分
                "s+": this.getSeconds(), // 秒
                "q+": Math.floor((this.getMonth() + 3) / 3), // 季度
                S: this.getMilliseconds() // 毫秒
            };
            if (/(y+)/.test(fmt))
                fmt = fmt.replace(
                    RegExp.$1,
                    (this.getFullYear() + "").substr(4 - RegExp.$1.length)
                );
            for (var k in o)
                if (new RegExp("(" + k + ")").test(fmt))
                    fmt = fmt.replace(
                        RegExp.$1,
                        RegExp.$1.length == 1 ?
                        o[k] :
                        ("00" + o[k]).substr(("" + o[k]).length)
                    );
            return fmt;
        };
    },
    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }
})